package org.pps.gl.server;

import java.io.UnsupportedEncodingException;
import java.util.Properties;

import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

import org.pps.gl.server.datastore.Utilisateur;

import com.google.appengine.api.datastore.Entity;

public class Email {

	// Perte du mot de passe
	public static void sendMail(String mail, String password) {
		Properties props = new Properties();

		Session session = Session.getDefaultInstance(props, null);

		Entity user = Utilisateur.getUtilisateur(mail);
		Entity p = Utilisateur.getProfil(user);

		String msgBody = "Nous avons réinitialisé ton mot de passe. \n\r Connecte toi avec comme mot de passe '"
				+ password + "' et change le rapidement.";

		try {

			Message msg = new MimeMessage(session);
			msg.setFrom(new InternetAddress(
					"no-reply@polytech-plus.appspotmail.com", "Polytech +"));
			msg.addRecipient(Message.RecipientType.TO, new InternetAddress(
					mail, p.getProperty("nom") + " " + p.getProperty("prenom")));
			msg.setSubject("Perte du mot de passe");
			msg.setText(msgBody);
			Transport.send(msg);

		} catch (AddressException e) {
			// ...
		} catch (MessagingException ee) {
			// ...
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}
	}

	// Inscription sur le site
	public static void sendMail(String mail, String nom, String prenom,
			String pswd) {
		Properties props = new Properties();
		Session session = Session.getDefaultInstance(props, null);

		String msgBody = "Bienvenue sur Polytech + \n\r Tu peux te connecter en utilisant ton email et ton mot de passe. \n\r A bientôt sur notre site !";

		try {
			Message msg = new MimeMessage(session);
			msg.setFrom(new InternetAddress(
					"no-reply@polytech-plus.appspotmail.com", "Polytech +"));
			msg.addRecipient(Message.RecipientType.TO, new InternetAddress(
					mail, nom + " " + prenom));
			msg.setSubject("Inscription sur Polytech +");
			msg.setText(msgBody);
			Transport.send(msg);

		} catch (AddressException e) {
			// ...
			System.out.printf("Mauvaise adresse");
		} catch (MessagingException ee) {
			// ...
			System.out.printf("Mauvais message");
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
			System.out.printf("Mauvais encodage");
		}
		System.out.printf("Message envoyé");
	}
}